import { BaseEntity, BaseVo, CommonTree } from ".";

/*** 全职岗位*/
export interface JobEntity extends BaseEntity {
  // * 标题
  title: string;
  // * 可接受
  flagSelf?: string;
  //岗位的企业
  jobCompanyId: string;
  jobCompanyName?: string;
  // * 类型
  jobTypeId?: string;
  // * 招聘人数
  needCnt: number;
  // * 价格开始
  priceStart: number;
  // * 价格结束
  priceEnd: number;
  // * 价格面议
  flagTalk: string;
  // * 显示价格
  // priceShow: string;
  // * 职位描述
  content: string;
  // * 学历要求
  requireEdu: string;
  // * 工作年限
  requireYear: string;
  // * 可接受
  flagCripple: string;
  // * 只接受
  flagOnlyCripple: string;
  // * 联系人
  contactor: string;
  // * 联系电话
  contactPhone: string;
  // * 公开电话标识
  flagShowPhone: string;
  // * 位置
  jobAddressId?: string;
  jobAddress?: Object;
  customTags?: string;
  // *  职位福利
  tags: string[];
  // * 发布地区,省市一个，地区多个
  allpubtos: [];
  pubtos: [];
  // *  图片
  imgs: string[];
  // *  视频
  vdos: string[];
  // *  图片视频
  reses: string[];
  // *  审核不通过的原因
  refuseCtn?: string;
  //状态
  status?: number;
}

/*** 兼职岗位 */
export interface HtJobEntity extends BaseEntity {
  // * 标题
  title: string;
  //岗位的企业
  jobCompanyId: string;
  // * 类型
  jobTypeId?: string;
  // * 招聘人数
  needCnt: number;
  // * 价格开始
  priceStart: number;
  // * 价格结束
  priceEnd: number;
  // * 职位描述
  content: string;
  // * 联系人
  contactor: string;
  // * 联系电话
  contactPhone: string;
  // * 公开电话标识
  flagShowPhone: string;

  jobAddress: Object;
  // *  职位福利
  tags: string[];
  // *  图片
  imgs: string[];
  // *  视频
  vdos: string[];
  // *  图片视频
  reses: string[];
  // *  工作要求
  workRequire: number;
  // 工作周期说明
  workFreqence: string;
  // *  薪资结算
  settleType: number;
  // 薪资说明
  salaryContent: string;
  // 年龄要求
  workderAge?: number;
  // 接受学生
  flagStudent: string;
  // 面试地址
  intviewAddress: string;
}

/*** 零时工岗位 */
export interface OddJobEntity extends BaseEntity {
  // * 标题
  title: string;
  // * 类型
  jobTypeId?: string;
  // * 招聘人数
  needCnt: number;
  // * 价格开始
  priceStart: string;
  // 薪资类型
  priceType: number;
  // * 联系人
  contactor: string;
  // * 联系电话
  contactPhone: string;

  jobAddress: Object;
  // *  职位福利
  tags: string[];
  // 时间段
  timePeriods: [];
  // 性别要求
  requireSex?: number;
  // *  年龄要求
  requireYear?: number;
  // 学历要求
  requireEdu?: number;
  // 长期或短期
  termType: number;
  // *  薪资结算
  settleType: number;
  // 工作内容
  content: string;
  sage: number;
  eage?: number;

  customTags?: string;
}

/*** 考证 */
export interface TrainEntity extends BaseEntity {
  title: string;
  // * 公司
  jobCompanyId?: string;
  // * 地址
  jobAddress: Object;
  // * 职位福利
  trainIds: number[];
  // 工作内容
  content: string;
  // * 联系人
  contactor: string;
  // * 联系电话
  contactPhone: string;
  // * 联系人性别
  contactGender: number;
  // *  图片
  imgs: string[];
}

/*** 考证 */
export interface FlexjobEntity extends BaseEntity {
  title: string;
  // * 类型
  jobTypeId?: string;
  // * 地址
  jobAddress: Object;
}

/*** 岗位的统计数量 */
export interface JobCntEntity extends BaseEntity {
  jobId: string;
  // * 标题
  title: string;
  // * 查看
  viewCnt?: number;
  // * 申请
  applyCnt?: number;
  // * 收藏
  collectCnt?: number;
  // * 关注
  followCnt?: number;
  // * 转发
  forwardCnt?: number;
  // * 评论
  commentCnt?: number;
  // * 查看
  realViewCnt?: number;
  // * 申请
  realApplyCnt?: number;
  // * 收藏
  realCollectCnt?: number;
  // * 关注
  realFollowCnt?: number;
  // * 转发
  realForwardCnt?: number;
  // * 评论
  realCommentCnt?: number;
}

export interface PostEntity extends BaseEntity {
  // * 公司客户名称
  companyId: string | number;
  // * 职位名称
  postTitle: string;
  // * 职位类别id
  postTypeId: string | number;
  // * 职位人数
  postAmount: number;
  // * 薪资下界
  salaryLower: number;
  // * 薪资上界
  salaryUpper: number;
  // * 薪资面谈
  isSalaryMeeting: boolean;
  // * 职位福利
  tags: Array<string | number>;
  // * 学历
  degreeId: string | number;
  // * 接受应届生
  isFGAllowed: boolean;
  // * 工作年限
  workYearsId: string | number;
  // * 职位描述
  postDescription: string;
  // * 可接受残疾人
  isDeformedAllowed: boolean;
  // * 仅招聘残疾人
  isDefomedOnly: boolean;
  // * 联系人
  contactPerson: string;
  // * 联系电话
  contactNumber: string;
  // * （电话）不公开
  isNotPublic: boolean;
  // * 邮箱
  emailAddress: string;
  // * 申请数
  applyNumber: number;
  // * 收藏数
  enshrineNumber: number;
  // * 评论数
  commentNumber: number;
  // * 浏览数
  browseNumber: number;
  // * 转发数
  transmitNumber: number;
}

/*** 工作列表数据, 企业用*/
export interface JobVo extends BaseVo {
  // * 标题
  title: string;
  //岗位类型
  typeName: string;
  // * 状态
  status: number;
  // * 价格面议
  // * 价格
  priceStart: string;
  priceEnd: string;
  flagTalk: string;
  // * 发布企业
  companyType: number;
  companyName: string;

  // * 工作年限,学历要求
  requireEdu: number;
  requireYear: number;
  // * 申请数
  applyCnt: number;
  // * 浏览数
  viewCnt: number;

  //助残标识
  flagCripple: string;
  flagOnlyCripple: string;

  // * 在线标识
  flagOnline: string;
  // * 地址
  pubAddress: string;

  flagActive: string;
}

/*** 工作列表数据, 企业用*/
export interface JobWorkerVo extends BaseVo {
  jobId: string;
  workerId: string;

  avator?: string;
  // * 姓名
  name: string;
  // * 性别
  gender: number;
  // * 出生年
  birthDay: string;
  // * 手机号
  phone: string;
}

/*** 工作列表数据, 系统用户用*/
export interface JobManagerVo extends BaseVo {
  // * 标题
  title: string;
  //岗位类型
  typeName: string;
  // * 状态
  status: number;
  // * 价格面议
  // * 价格
  priceStart: string;
  priceEnd: string;
  flagTalk: string;
  // * 发布企业
  companyType: number;
  companyName: string;

  // * 工作年限,学历要求
  requireEdu: number;
  requireYear: number;
  // * 申请数
  applyCnt: number;
  // * 浏览数
  viewCnt: number;

  //助残标识
  flagCripple: string;
  flagOnlyCripple: string;

  flagActive: string;
  flagTop: string;
  flagRefresh: string;
  flagGoden: string;

  pubDate: string;
  pubCoin: number;

  contactor: string;
  contactPhone: string;

  // * 在线标识
  flagOnline: string;
  // * 地址
  pubAddress: string;
}

/*** 招工类型数据*/
export interface JobTypeEntity extends BaseEntity {
  // * 上层
  pid?: string;
  type: number;
  // * 名称
  name: string;
}

/*** 招工类型列表数据*/
export interface JobTypeVo extends BaseVo {
  // * 名称
  name: string;
  // * 启用标记
  flagActive: string;
  // * 创建时间
  createDate: string;
}

/*** 招工标签数据*/
export interface JobTagEntity extends BaseEntity {
  // * 类型
  type: number;
  // * 名称
  name: string;
}

/*** 招工标签列表数据*/
export interface JobTagVo extends BaseVo {
  // * 名称
  name: string;
  // * 启用标记
  flagActive: string;
  // * 关联发岗数
  jobCnt: number;
  // * 做为过滤数
  searchCnt: number;
  // * 创建人
  createUser: string;
  // * 日期列
  createDate: string;
}

/*** 区域花费配置*/
export interface ComapnySpendConfigEntity extends BaseVo {
  // * 区
  areaId: string;
  // * 发岗位
  job?: number;
  // * 下简历
  worker?: number;
  // * 刷新
  refresh?: number;
  // * 置顶
  top?: number;
  // * 黄金
  goden?: number;
}

/*** 区域花费配置标签*/
export interface ComapnySpendConfigFlagEntity extends BaseVo {
  // * 区
  areaId: string;
  // * 发岗位
  flagJob?: string;
  // * 下简历
  flagWorker?: string;
  // * 刷新
  flagRefresh?: string;
  // * 置顶
  flagTop?: string;
  // * 黄金
  flagGoden?: string;
}

export interface AddressTree extends CommonTree {
  type: number;
  // * 发岗位
  flagJob?: string;
  // * 下简历
  flagWorker?: string;
  // * 刷新
  flagRefresh?: string;
  // * 置顶
  flagTop?: string;
  // * 黄金
  flagGoden?: string;
}

export interface InterViewEntity extends BaseEntity {
  // *
  title: string;
  contactor: string;
  contactPhone: string;
  content: string;
  address: string;
}

export interface InterViewVo extends BaseVo {
  // *
  title: string;
}

export interface JobRefreshEntity extends BaseEntity {
  // * 岗位
  jobId: string;
  // 每天刷新标记
  flagEveryday: string;
  // 刷新次数
  refreshCnt: number;
  // 刷新时间
  refreshDate: string;
  // 间隔 分钟
  step: number;
  // 刷新消耗
  refreshCoin: string;
}
